#include "Timer.h"

void TimerInit() // 1ms 定时器
{
	// 以后可以直接使用STC-ISP生成定时器初始化代码
	
	// 配置工作模式
	// 定时器1不管，只管定时器0
	// TMOD =  0x01;
	// TMOD 赋值为0x01，会存在问题，将Timer1定时器的工作模式清0了
	// 因此，我们需要将Timer1定时器的工作模式保持不变，Timer0的工作模式为1
	TMOD &= 0xF0; // 把TMOD低四位清0，高4位保持不变
	TMOD |= 0x01; // 把TMOD高4位保持不变，低四位第1个比特位置1
	
	
	TF0 = 1; // 允许定时器产生中断
	TR0 = 1; // 定时器只能由TR0控制
	
	// 65536溢出，产生中断
	// TH0 = 64535 / 256; // 获取高8位 FC --> 252
	// TL0 = 64535 % 256; // 获取低8位 17 --> 23
	TL0 = 0x18;		// 取余的小了1，可以理解为65536产生溢出
	TH0 = 0xFC;		// 
	
	
	ET0 = 1; // 打开 定时器中断
	EA = 1; // 打开总中断允许
	
	PT0 = 0; // 设置定时器优先级
	
}


// 中断函数的入口  - 模板
//void Timer0_Routine(void)		interrupt 1
//{
//	static int countT = 0; 
//	TL0 = 0x18;		
//	TH0 = 0xFC;	
//	countT++;
//	if(countT >= 1000)
//	{

//	}	
//}